<script>
	export default {
		onLaunch: function() {
			// console.log('App Launch')
		},
		onShow: function() {
			var launchOptions = wx.getLaunchOptionsSync();
			console.log('启动小程序的路径:', launchOptions.path);
			console.log('启动小程序的场景值:', launchOptions.scene);
			console.log('启动小程序的 query 参数:', launchOptions.query);
			console.log('来源信息:', launchOptions.shareTicket);
			if (launchOptions.referrerInfo) {
				console.log('来源信息参数appId:', launchOptions.referrerInfo.appId);
				console.log('来源信息传过来的数据:', launchOptions.referrerInfo.extraData);
				this.$store.commit('$uStore', {
					name: 'address_type',
					value: launchOptions.referrerInfo.extraData?.type
				});
				console.log('来源小程序为:', this.$store.state.address_type);
			}
			
			// 设置登录过期时间
			// 存入初次打开小程序的时间，为后面清除缓存使用
			var data_expiration = uni.getStorageSync('data_expiration');
			if (data_expiration) {
				// 不是第一次进
				var expiration = data_expiration + 7200000; //缓存2小时
				// var expiration = data_expiration + 10000; //缓存10秒
				// 设置一个半小时的过期时间（1.5小时 = 1.5 * 60 * 60 * 1000 毫秒）
				var expiration_1_5_hour = data_expiration + 5400000; // 1.5小时
				// var expiration_1_5_hour = data_expiration + 10000; //
				var timestamp = Date.parse(new Date());
				// console.log(expiration,'过期时间');
				// console.log(timestamp,'当前时间');
				if (timestamp > expiration) {
					//  如果现在的时间已经超过了固定的时间，就清本地缓存
					uni.clearStorageSync();
					//重新设置时间
					uni.setStorageSync('data_expiration', Date.parse(new Date()));
					uni.showModal({
						title: '提示',
						content: '隐私验证已过期请重新登录',
						success: function (res) {
							if (res.confirm) {
								uni.reLaunch({
									url: '/pages/login/index'
								});
							} else if (res.cancel) {
								console.log('用户点击取消');
							}
						}
					});
				} else if (timestamp > expiration_1_5_hour) {
					// 超过1.5小时后，自动调用 uni.login
					uni.login({
						provider: 'weixin',
						success: (res) => {
							console.log('刷新token', res);
							if (res.code) {
								this.$store.dispatch('$dRegister', res.code).then((res2) => {
									// 处理相关逻辑
								});
							}
						},
						fail: (err) => {
							console.log('刷新token', err);
						}
					});
				}
			} else {
				// 第一次进小程序
				uni.setStorageSync('data_expiration', Date.parse(new Date()));
				uni.reLaunch({
					url: '/pages/login/index'
				});
			}
			
			
		},
		onHide: function() {
			 // console.log('用户隐藏了小程序')
		}
	}
</script>

<style lang="scss">
</style>
